import Vue from 'vue'
import i18n from '@/i18n'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

import '@/styles/index.scss' // global css
import '@/mock.js'
import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control

// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
// Vue.use(ElementUI)
// ElementUI自带的国际化组件
Vue.use(ElementUI, {
  i18n: (key, value) => i18n.t(key, value)
})
// 定义一个全局自定义指令来处理破图问题
Vue.directive('imgerr', {
  inserted(el, options) {
    // // console.log(options)
    // el当前处理的img标签
    el.addEventListener('error', () => {
      // el.src = 'https://img2.baidu.com/it/u=3644579383,1360526475&fm=26&fmt=auto'
    //  传一个参数要什么图片就是什么图片
      el.src = options.value
    })
    // 如果图片为空就不会捕捉到错误所以默认给一个值
    el.src = el.src || options.value
  },
  componentUpdated(el, options) {
    el.src = el.src || options.value
  }
})
// 引入全局组件注册
// import '@/components'
import mycomponents from '@/components'
Vue.use(mycomponents)

// 全局过滤器(封装在filters文件)
import * as filters from '@/filters'
// 对象遍历注册全局过滤器
for (const key in filters) {
  // // console.log(44, key, filters[key])
  Vue.filter(key, filters[key])
}
// 全局混入
import mixin from '@/mixin'
Vue.mixin(mixin) // 注册
// 全局引入国际化语言

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  // 挂载
  i18n,
  render: h => h(App)
})

